package com.bw.util;

import java.io.File;

public class PuthUtil {

	public static void main(String[] args) throws Exception {
		
		//获取类classpath路径
		System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));

		System.out.println(PuthUtil.class.getName());
		System.out.println(PuthUtil.class.getClassLoader().getResource(""));
		System.out.println(ClassLoader.getSystemResource(""));
		System.out.println("Class文件所在路径："+PuthUtil.class.getResource(""));
		System.out.println("Class文件所在路径："+PuthUtil.class.getResource("/").getPath()); //Class文件所在路径
		System.out.println("新建文件根目录："+new File("ftl").getAbsolutePath());
		System.out.println("新建文件根目录(有/)："+new File("/").getAbsolutePath());
		System.out.println("当前项目路径："+System.getProperty("user.dir"));
		
		//路径分割符号  
		String s = File.separator;
		/*
//		一、获得都是当前运行文件在服务器上的绝对路径
//		在servlet里用:
		this.getServletContext().getRealPath();

//		在struts用:
		this.getServlet().getServletContext().getRealPath();

//		在Action里用:
		ServletActionContext.getRequest().getRealPath();

//		以上三个获得都是当前运行文件在服务器上的绝对路径
//		其实：
		request.getRealPath("url"); // 虚拟目录映射为实际目录
		request.getRealPath() //这个方法已经不推荐使用了，代替方法是：
		request.getSession().getServletContext().getRealPath();

//		二、request获取各种路径总结
		request.getRealPath("url"); // 虚拟目录映射为实际目录
		request.getRealPath("./");    // 网页所在的目录
		request.getRealPath("../"); // 网页所在目录的上一层目录
		request.getContextPath();    // 应用的web目录的名称

//		如http://localhost:7001/bookStore/
//		/bookStore/ => [contextPath] (request.getContextPath())

//		获取Web项目的全路径
		String strDirPath =request.getSession().getServletContext().getRealPath("/");

//		以工程名为news为例： http://localhost:8080/news/main/list.jsp

//		(1) 得到包含工程名的当前页面全路径：request.getRequestURI()
//		结果：/news/main/list.jsp

		(2) 得到工程名：request.getContextPath()
		结果：/news

		(3) 得到当前页面所在目录下全名称：request.getServletPath()
		结果：如果页面在jsp目录下 /main/list.jsp 

		(4) 得到IE地址栏地址：request.getRequestURL()
		结果：http://localhost:8080/news/main/list.jsp

		(5) 得到相对地址：request.getRequestURI()
		结果：/news/main/list.jsp  

		(6) 得到页面所在服务器的全路径：application.getRealPath("页面.jsp")
		结果：D:\resin\webapps\news\main\list.jsp

		(7) 得到页面所在服务器的绝对路径：absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
		结果：D:\resin\webapps\news

		*/
	}
}
